1 using System;
2 using
System.Collections.Generic;
3 using
System.ComponentModel;
4 using
System.Drawing;
5 using
System.Data;
6 using
System.Linq;
7 using
System.Text;
8 using
System.Threading.Tasks;
9 using
System.Windows.Forms;
10 using
System.Globalization;
11
12 namespace
SoftQuanLyNhaHang.Views
13 {
14
15     
public delegate void Link_BOMGoiSanPham_EventHandler(object sender, EventArgs e);
16
17     
public partial class uctQuanLyMuaHang : UserControl
18     {
19         
public uctQuanLyMuaHang()
20         {
21             InitializeComponent();
22         }
23
24         
public static uctQuanLyMuaHang uctQLMh = new uctQuanLyMuaHang();
25
26         
public event Link_BOMGoiSanPham_EventHandler Link_BOMGoiSanPham;
27
28         
int _idBanHang = 0;
29         
//string _maSanPham = string.Empty;
30         
//string _tenSanPham = string.Empty;
31         
double _giaBan =0;
32         
double _thanhTien =0;
33         
int _soLuong = 0;
34         
string _donViTinh = string.Empty;
35         
int _donViTinhId=0;
36         
int _khachHangId =0;
37         DateTime _ngayMuaHang = DateTime.Now;
38         DateTime _tuNgay = DateTime.Parse(
"2000-01-01");
39         
int _trangThai =1;
40         
int _nhapKhoId =0;
41         
double _chietKhauPhanTram =0;
42         
double _thue = 0;
43         
int _pageSize = 30;
44         
int _pageIndex = 1;
45
46         
int _stt = 0;
47         
int _tongSoBanGhi = 0;
48         
float _tongTienThanhToan = 0;
49         
float _tongGiaNhap = 0;
50
51         
private void uctQuanLyMuaHang_Load(object sender, EventArgs e)
52         {
53
54             
55         }
56
57         
public void HienThiDsSpDaBan()
58         {
59             maskedTxt_NgayBan.Text = CauHinhHeThong.Format_HienThiNgayThangNam(DateTime.Now.ToShortDateString(),
false);
60
61             
this.HienThiDsMuaHang(txtMaSanPham.Text.Trim(), txtTenSanPham.Text.Trim(), _tuNgay, _ngayMuaHang);
62         }
63
64         
private void HienThiDsMuaHang(string maSanPham, string tenSanPham, DateTime tuNgay, DateTime ngayMua)
65         {
66
67             dgvDsMuaHang.Rows.Clear();
68             
//Ẩn cột đầu tiên
69             dgvDsMuaHang.RowHeadersVisible =
false;
70             
//-https://stackoverflow.com/questions/17404969/right-align-a-column-in-datagridview-doesnt-work
71             
this.dgvDsMuaHang.Columns["STT"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
72             
this.dgvDsMuaHang.Columns["STT"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
73             
//this.dgvDanhSach.Columns["STT"].SortMode = DataGridViewColumnSortMode.NotSortable;
74
75             
this.dgvDsMuaHang.Columns["IdBanHang"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
76             
this.dgvDsMuaHang.Columns["IdBanHang"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
77
78             
this.dgvDsMuaHang.Columns["SoLuongDaBan"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
79             
this.dgvDsMuaHang.Columns["SoLuongDaBan"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
80
81             
this.dgvDsMuaHang.Columns["GiaBan"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight;
82             
this.dgvDsMuaHang.Columns["GiaBan"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
83
84
85             
this.dgvDsMuaHang.Columns["ChietKhauPhanTram"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
86             
this.dgvDsMuaHang.Columns["ChietKhauPhanTram"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
87
88             
this.dgvDsMuaHang.Columns["Thue"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
89             
this.dgvDsMuaHang.Columns["Thue"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
90
91             
this.dgvDsMuaHang.Columns["NgayMuaHang"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
92             
this.dgvDsMuaHang.Columns["NgayMuaHang"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
93
94             
this.dgvDsMuaHang.Columns["ThanhTien"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight;
95             
this.dgvDsMuaHang.Columns["ThanhTien"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
96
97
98             
this.dgvDsMuaHang.Columns["LoiNhuan"].HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight;
99             
this.dgvDsMuaHang.Columns["LoiNhuan"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight;
100
101
102             DataTable dtBh =
new DataTable();
103
104             
//if (timTheoNgay == true)
105             
//{
106                 
//ngayMua = DateTime.ParseExact(maskedTxt_NgayBan.Text, "dd/MM/yyyy", null);
107
108                 dtBh = Controllers.BanHangCtrl.FillDataSet_BanHang_BySearch(_idBanHang, maSanPham, tenSanPham, _giaBan, _thanhTien, _soLuong, _donViTinh, _donViTinhId, _khachHangId, ngayMua, _trangThai, _nhapKhoId, _chietKhauPhanTram, _thue, _tuNgay, _pageSize, _pageIndex).Tables[
0];
109             
//}
110             
//else
111             
//{
112                 
//ngayMua = ;
113
114                 
//dtBh = Controllers.BanHangCtrl.FillDataSet_BanHang_BySearch(_idBanHang, maSanPham, tenSanPham, _giaBan, _thanhTien, _soLuong, _donViTinh, _donViTinhId, _khachHangId, ngayMua, _trangThai, _nhapKhoId, _chietKhauPhanTram, _thue, _pageSize, _pageIndex).Tables[0];
115             
//}
116
117
118             
float loiNhuan = 0;
119             
if (dtBh.Rows.Count > 0)
120             {
121                 _tongSoBanGhi = Int32.Parse(dtBh.Rows[
0]["TongSoBanGhi"].ToString());
122                 _tongTienThanhToan = (
float)CauHinhHeThong.Format_SoDeTinhToan(dtBh.Rows[0]["TongTienTatCaSanPham"].ToString(), false);
123                 _tongGiaNhap = (
float)CauHinhHeThong.Format_SoDeTinhToan(dtBh.Rows[0]["TongGiaNhapHang"].ToString(), false);
124
125                 
int khId_HienThi = 0;
126                 
int khId_GetCsdl = 0;
127                 
double tongTienTT =0;
128                 
int soTTSp = 0;
129                 
float giab = 0;
130                 
float soLuongDb = 0;
131                 
float thueBh = 0;
132                 
float ckBanHang = 0;
133                 
float giaBanMotMh = 0;
134                 
float tTienMMatHang = 0;
135                 
float thanhTienNhapHang = 0;
136                 
137
138                 
foreach (DataRow item in dtBh.Rows)
139                 {
140                     _stt +=
1;
141                    
142                     
int n = dgvDsMuaHang.Rows.Add();
143
144                     dgvDsMuaHang.Rows[n].Cells[
"IdBanHang"].Value = item["IdBanHang"].ToString();
145                     dgvDsMuaHang.Rows[n].Cells[
"STT"].Value = _stt.ToString();
146
147                     dgvDsMuaHang.Rows[n].Cells[
"MaSanPham"].Value = item["MaSanPham"].ToString();
148
149                     giab = (
float)CauHinhHeThong.Format_SoDeTinhToan(item["GiaBan"].ToString(), false);
150                     thueBh = (
float)CauHinhHeThong.Format_SoDeTinhToan(item["Thue"].ToString(), false);
151                     ckBanHang = (
float)CauHinhHeThong.Format_SoDeTinhToan(item["ChietKhauPhanTram"].ToString(), false);
152                     soLuongDb = (
float)CauHinhHeThong.Format_SoDeTinhToan(item["SoLuongDaBan"].ToString(), false);
153                     thanhTienNhapHang = (
float)CauHinhHeThong.Format_SoDeTinhToan(item["ThanhTienNhapHang"].ToString(), false);
154
155                     khId_HienThi = Int32.Parse(item[
"KhachHangId"].ToString());
156                     
if (khId_HienThi != khId_GetCsdl)
157                     {
158                         tongTienTT = CauHinhHeThong.Format_SoDeTinhToan(item[
"TongTienThanhToan"].ToString(), false);
159
160
161                             dgvDsMuaHang.Rows[n].Cells[
"ThanhTien"].Value = CauHinhHeThong.Format_SoDeHienThi(tongTienTT, true);
162
163                         khId_GetCsdl = Int32.Parse(item[
"KhachHangId"].ToString());
164
165                         soTTSp =
1;
166
167                     }
168                     
else
169                     {
170
171                         soTTSp +=
1;
172
173                     }
174
175                     tTienMMatHang = giab * soLuongDb - soLuongDb * ckBanHang * giab /
100 + soLuongDb * thueBh * giab / 100;
176
177                     loiNhuan = tTienMMatHang - thanhTienNhapHang;
178                     dgvDsMuaHang.Rows[n].Cells[
"LoiNhuan"].Value = CauHinhHeThong.Format_SoDeHienThi(loiNhuan, true);
179
180
181                     
if (!string.IsNullOrEmpty(txtTenSanPham.Text) || !string.IsNullOrEmpty(txtMaSanPham.Text))
182                     {
183                         dgvDsMuaHang.Rows[n].Cells[
"ThanhTien"].Value = CauHinhHeThong.Format_SoDeHienThi(tTienMMatHang, true);
184                     }
185
186                     
187                     dgvDsMuaHang.Rows[n].Cells[
"TenSanPham"].Value = soTTSp + ". " + item["TenSanPham"].ToString();
188
189                     
190                     
//dgvDsMuaHang.Rows[n].Cells["TenDonViTinh"].Value = item["DonViTinh"].ToString();
191                   
192                     giaBanMotMh = giab - ckBanHang * giab /
100 + thueBh * giab / 100;
193
194                     dgvDsMuaHang.Rows[n].Cells[
"GiaBan"].Value = CauHinhHeThong.Format_SoDeHienThi(giaBanMotMh, true);
195
196                   
197
198                     
if (item["TrangThai"].ToString() == "2")
199                     {
200                         dgvDsMuaHang.Rows[n].Cells[
"SoLuongDaBan"].Value = CauHinhHeThong.Format_SoDeHienThi(soLuongDb, false) + ". Hàng khuyễn mại";
201                     }
202                     
else
203                     {
204                         dgvDsMuaHang.Rows[n].Cells[
"SoLuongDaBan"].Value = CauHinhHeThong.Format_SoDeHienThi(soLuongDb, false);
205                     }
206
207                     
208
209                     dgvDsMuaHang.Rows[n].Cells[
"ChietKhauPhanTram"].Value = item["ChietKhauPhanTram"].ToString();
210                     dgvDsMuaHang.Rows[n].Cells[
"Thue"].Value = item["Thue"].ToString();
211
212                     dgvDsMuaHang.Rows[n].Cells[
"NgayMuaHang"].Value = CauHinhHeThong.Format_HienThiNgayThangNam(item["NgayMuaHang"].ToString(), true);
213
214                 }
215             }
216             
else
217             {
218                 _tongSoBanGhi =
0;
219                 _tongTienThanhToan =
0;
220                 _tongGiaNhap =
0;
221             }
222
223             lblTongSoBanGhiHienThi.Text = CauHinhHeThong.HienThiSoBanGhiTuA_DenB(_pageSize, _pageIndex, _stt.ToString(), _tongSoBanGhi.ToString());
224             txtTongTienThanhToan.Text = CauHinhHeThong.Format_SoDeHienThi(_tongTienThanhToan,
true);
225             txtLoiNhuan.Text = CauHinhHeThong.Format_SoDeHienThi(_tongTienThanhToan - _tongGiaNhap,
true);
226         }
227
228         
private void btnTiep_Click(object sender, EventArgs e)
229         {
230             
if (_tongSoBanGhi > (_pageSize * _pageIndex))
231             {
232                 _pageIndex = _pageIndex +
1;
233
234                 
this.HienThiDsMuaHang(txtMaSanPham.Text.Trim(), txtTenSanPham.Text.Trim(), _tuNgay, _ngayMuaHang);
235             }
236             
else
237             {
238                 
return;
239             }
240         }
241
242         
private void btnSau_Click(object sender, EventArgs e)
243         {
244             
if ((_pageSize * _pageIndex) > _pageSize)
245             {
246                 _pageIndex = _pageIndex -
1;
247                 _stt = _pageSize * _pageIndex - _pageSize;
248
249                 
this.HienThiDsMuaHang(txtMaSanPham.Text.Trim(), txtTenSanPham.Text.Trim(), _tuNgay, _ngayMuaHang);
250
251             }
252             
else
253             {
254                 _pageIndex =
1;
255             }
256         }
257
258         
private void btnTimKiem_Click(object sender, EventArgs e)
259         {
260             _stt =
0;
261             _pageSize =
30;
262             _pageIndex =
1;
263
264             
string formatTuNgay = "dd/MM/yyyy";
265             DateTime dateTimeTuNgay;
266
267             
string formatDenNgay = "dd/MM/yyyy";
268             DateTime dateTimeDenNgay;
269
270             
if (DateTime.TryParseExact(maskedTextBox_TuNgay.Text, formatTuNgay, CultureInfo.InvariantCulture, DateTimeStyles.None, out dateTimeTuNgay))
271             {
272                 _tuNgay = DateTime.ParseExact(maskedTextBox_TuNgay.Text,
"dd/MM/yyyy", null);
273             }
274             
else
275             {
276                 _tuNgay = DateTime.Parse(
"2000-01-01");
277             }
278
279             
if (DateTime.TryParseExact(maskedTxt_NgayBan.Text, formatDenNgay, CultureInfo.InvariantCulture, DateTimeStyles.None, out dateTimeDenNgay))
280             {
281                 _ngayMuaHang = DateTime.ParseExact(maskedTxt_NgayBan.Text,
"dd/MM/yyyy", null);
282             }
283             
else
284             {
285                 _ngayMuaHang = DateTime.Now;
286             }
287
288             
this.HienThiDsMuaHang(txtMaSanPham.Text.Trim(), txtTenSanPham.Text.Trim(), _tuNgay, _ngayMuaHang);
289         }
290
291         
private void txtMaSanPham_TextChanged(object sender, EventArgs e)
292         {
293             
this.btnTimKiem_Click(sender, e);
294         }
295
296         
private void txtTenSanPham_TextChanged(object sender, EventArgs e)
297         {
298             
this.btnTimKiem_Click(sender, e);
299         }
300
301         
private void linkLabel_BomGoiSp_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
302         {
303             
if (this.Link_BOMGoiSanPham != null)
304             {
305                 
this.Link_BOMGoiSanPham(sender, e);
306             }
307         }
308
309     }
310 }


Gõ tìm kiếm nhanh...